package com.example.controller;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.servlet.http.HttpServletResponse;

import com.example.service.IProductService;
import com.example.tools.Result;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import com.example.domain.ProductClassify;
import com.example.service.IProductClassifyService;


/**
 * 分类管理Controller
 *
 * @author ruoyi
 * @date 2023-04-12
 */
@CrossOrigin
@RestController
@RequestMapping("/system/classify")
public class ProductClassifyController
{
    @Autowired
    private IProductClassifyService productClassifyService;

    @Autowired
    private IProductService productService;
    /**
     * 查询分类管理列表
     */
    /**
     * 功能作用: 按分类返回
     * 描述:
     * 使用规则:
     * @Author: kzc
     * @Date: 2023/4/13
     */
    @GetMapping("/list")
        public Result list()
    {
        List<ProductClassify> list =productClassifyService.list();
        List<ProductClassify> collect = list.stream().filter(temp -> temp.getParentId() == 0).collect(Collectors.toList());

        for (ProductClassify p:collect){
            p.setList(new ArrayList<>());
                for (ProductClassify temp:list){
                    if (temp.getLevel()!=0)
                    if (temp.getParentId()==p.getSpcId()){
                            p.getList().add(temp);


                    }
                }

        }
        return Result.ok(collect);
    }



    @GetMapping("/getlist/{spcid}")
    public Result getlist()
    {
        List<ProductClassify> list =productClassifyService.list();
        List<ProductClassify> collect = list.stream().filter(temp -> temp.getParentId() == 0).collect(Collectors.toList());

        for (ProductClassify p:collect){
            p.setList(new ArrayList<>());
            for (ProductClassify temp:list){
                if (temp.getLevel()!=0)
                    if (temp.getParentId()==p.getSpcId()){
//
                        p.getList().add(temp);


                    }
            }

        }
        return Result.ok(collect);
    }







//    /**
//     * 导出分类管理列表
//     */
//
//    @Log(title = "分类管理", businessType = BusinessType.EXPORT)
//    @PostMapping("/export")
//    public void export(HttpServletResponse response, ProductClassify productClassify)
//    {
//        List<ProductClassify> list = productClassifyService.selectProductClassifyList(productClassify);
//        ExcelUtil<ProductClassify> util = new ExcelUtil<ProductClassify>(ProductClassify.class);
//        util.exportExcel(response, list, "分类管理数据");
//    }
//
//    /**
//     * 获取分类管理详细信息
//     */
//
//    @GetMapping(value = "/{spcId}")
//    public AjaxResult getInfo(@PathVariable("spcId") Integer spcId)
//    {
//        return success(productClassifyService.selectProductClassifyBySpcId(spcId));
//    }
//
//    /**
//     * 新增分类管理
//     */
//
//
//    @PostMapping
//    public AjaxResult add(@RequestBody ProductClassify productClassify)
//    {
//        return toAjax(productClassifyService.insertProductClassify(productClassify));
//    }
//
//    /**
//     * 修改分类管理
//     */
//
//    @PutMapping
//    public AjaxResult edit(@RequestBody ProductClassify productClassify)
//    {
//        return toAjax(productClassifyService.updateProductClassify(productClassify));
//    }
//
//    /**
//     * 删除分类管理
//     */
//
//	@DeleteMapping("/{spcIds}")
//    public AjaxResult remove(@PathVariable Integer[] spcIds)
//    {
//        return toAjax(productClassifyService.deleteProductClassifyBySpcIds(spcIds));
//    }
}
